package dao

import (
	"time"
)

// 这是 SmsCouponHistory 的全局公开dao对象，被service层调用!
var SmsCouponHistoryDao = smsCouponHistoryDao{}

// 这是 sms_coupon_history表 的实体类
type SmsCouponHistory struct {
	Id             int64     `json:"id"`
	CouponId       int64     `json:"coupon_id"`
	MemberId       int64     `json:"member_id"`
	OrderId        int64     `json:"order_id"` // 订单编号
	CouponCode     string    `json:"coupon_code"`
	MemberNickname string    `json:"member_nickname"` // 领取人昵称
	GetType        int32     `json:"get_type"`        // 获取类型：0-&gt;后台赠送；1-&gt;主动获取
	CreateTime     time.Time `json:"create_time"`
	UseStatus      int32     `json:"use_status"` // 使用状态：0-&gt;未使用；1-&gt;已使用；2-&gt;已过期
	UseTime        time.Time `json:"use_time"`   // 使用时间
	OrderSn        string    `json:"order_sn"`   // 订单号码

}

// 注意:这是 SmsCouponHistory 的私有dao对象，只能在dao层内使用!
type smsCouponHistoryDao struct {
	List func(arg SmsCouponHistoryList) ([]SmsCouponHistory, error)
}

//根据优惠券id，使用状态，订单编号分页获取领取记录
type SmsCouponHistoryList struct {
	CouponId  int64  `json:"coupon_id" form:"coupon_id"`
	UseStatus int32  `json:"use_status" form:"use_status"`
	OrderSn   string `json:"order_sn" form:"order_sn"`
	PageNum   int    `json:"page_num" form:"page_num"`
	PageSize  int    `json:"page_size" form:"page_size"`
}
